<%@ page language="java"
    import="com.gorge4j.user.*,com.gorge4j.user.vo.*,com.gorge4j.user.dto.*,com.gorge4j.user.constant.*,java.util.*"
    contentType="text/html; charset=utf-8" pageEncoding="utf-8"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!-- 在JSP页面上引入其它类，也就是引入Java Bean -->
<jsp:useBean id="loginDTO" class="com.gorge4j.user.dto.LoginDTO" scope="page">
    <jsp:setProperty name="loginDTO" property="*" />
</jsp:useBean>
<jsp:useBean id="businessOperationBean" class="com.gorge4j.user.BusinessOperationBean" scope="page" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录校验</title>
</head>
<body>
    <%
        // 把参数赋值给后端业务处理类
        businessOperationBean.setLoginDTO(loginDTO);
        // 调用后端的的登录逻辑，并返回当前登录的用户信息
        UserVO userVO = businessOperationBean.login();
        // 如果返回的当前登录用户信息有值，则展示当前用户的信息
        if (userVO != null) {
            // SESSION表示用户会话，可以存储在浏览器的缓存里，并可以在其它请求页面把这个值调出来
            UserSessionDTO userSession = new UserSessionDTO();
            userSession.setIsLogin(true);
            userSession.setName(userVO.getName());
            userSession.setType(userVO.getType());
            session.setAttribute("userSession", userSession);

            // 展示当前登录用户的信息
            out.println("欢迎您: <b style=\"color:red\">" + userVO.getName() + "</b>, 用户身份是: "
                    + UserTypeConstant.typeToDesc(userVO.getType()));
            out.println("<br /><br />");
            out.println("功能列表：<br />");
            // 只有管理员身份才显示“查看用户列表”
            if (UserTypeConstant.ADMIN.equals(userVO.getType())) {
                out.println("<a href=\"view.jsp\">查看用户列表</a>");
                out.println("<a href=\"add_user.jsp\">添加用户</a>");
            }
            out.println("<a href=\"modify.jsp\">修改密码</a>");
            out.println("<a href=\"login_out.jsp\">注销登录</a>");
        } else { // 如果当前登录的用户在数据库不存在则跳转登录失败的页面
    %>
    <jsp:forward page="login_failure.jsp" />
    <%
        }
    %>
</body>
</html>